In communications, a transmitter uses a particular modulation scheme to map bits of data to symbols, and then modulates one or more carriers with the symbols to produce a signal that is transmitted over a communications channel to a receiver. The receiver device applies an inverse process of demodulation to the received signal to produce estimates of the symbols, the data bits, or both. During its transmission over the channel, the signal may experience noise and/or distortion. Noise and/or distortion may also be contributed to the signal by components of the transmitter and/or receiver. The noise and/or distortion experienced by the signal may lead to errors in the symbols or bits recovered at the receiver.
The reliability of a communications channel may be characterized by the Bit Error Ratio or Bit Error Rate (BER), which measures the ratio of the expected number of erroneously received bits (or symbols) to the total number of bits (or symbols) that are transmitted over the communications channel. A given application may have a maximum BER tolerance. For example, an application may require that the BER not exceed 10−16.
Forward Error Correction (FEC) techniques may be used to reduce the BER. FEC encoding performed at a transmitter maps input information bits to FEC-encoded bits, which include redundant information, such as parity or check bits. FEC decoding subsequently performed at a receiver uses the redundant information to detect and correct bit errors. When a systematic FEC code is employed, the FEC-encoded bits output from the FEC encoder consist of redundant bits and the information bits that were input to the FEC encoder.
FEC encoding is advantageous in that it may permit error control without the need to resend data packets. However, this is at the cost of increased overhead. The amount of overhead or redundancy added by a FEC encoder may be characterized by the information rate R, where R is defined as the ratio of the amount of input information to the amount of data that is output after FEC encoding (which includes the overhead). For example, if FEC encoding adds 25% overhead, then for every four information bits that are to be FEC-encoded, the FEC encoding will add 1 bit of overhead, resulting in 5 FEC-encoded data bits to be transmitted to the receiver. This corresponds to an information rate R=4/5=0.8.
A variety of techniques for FEC encoding and FEC decoding are known. Throughout this document, FEC decoding may be understood to “correspond” to FEC encoding in the event that the FEC decoding and FEC encoding employ an identical FEC code. The combination of a FEC encoding process and the corresponding FEC decoding process may be referred to as a “FEC scheme.” Stronger FEC schemes provide better protection (i.e., better error detection and correction) by adding more redundancy. However, this is at the expense of a lower information rate. Circuitry to implement stronger FEC schemes may also take up more space, may be more costly, and may produce more heat than circuitry to implement weaker (i.e., higher-rate) FEC schemes.
A FEC scheme may be selected to satisfy a desired BER tolerance. It is of interest to maximize the information rate, while satisfying the desired BER tolerance.
Decoding schemes that require more feedback and/or memory may be more challenging to implement, may lead to larger-sized hardware, and may produce more heat.